A new area of technology with increasing importance is the domain of Workflow-Management-Systems (WFMS). WFMS support the modeling and execution of business processes. Business processes executed within a WFMS environment control who will perform which piece of work of a network of pieces of work and which resources are exploited for this work. The individual pieces of work might be distributed across a multitude of different computer systems connected by some type of network.
The product “IBM MQSeries Workflow” (previously called IBM FlowMark) represents such a typical modern, sophisticated, and powerful workflow management system. It supports the modeling of business processes as a network of activities. This network of activities, the process model, is constructed as a directed, acyclic, weighted, colored graph. The nodes of the graph represent the activities, which define the individual tasks that need to be carried out. In general, each of the activities is associated with a piece of code that implements the appropriate task. The edges of the graph, the control connectors, describe the potential sequence of execution of the activities. Definition of the process graph is via IBM MQSeries Workflow's Flow Definition Language (FDL) or via the built-in graphical editor.
The runtime component of the workflow management system interprets the process graph by following the prescribed execution sequence. For each activity, the runtime component invokes the associated piece of code, called activity implementation. When invoked, said piece of code obtains the necessary resources and carries out the designated work. If the requested resource is not available, the piece of code typically waits until it becomes available. The execution time of a process is thus composed of the time needed by the runtime component of the workflow management system for the navigation of the business process (including the invocation of the activity implementations), the execution time of the activity implementations, and the time the activity implementations wait for resources to become available. Thus, the wait time contributes significantly to the execution time of business processes and represents an important problem awaiting solutions for improvements.
It should be noted that the meta model MQSeries Workflow is using to describe business processes is just a particular meta model to do this. Other workflow management systems use other meta models for describing business processes; however they all use the notion of an activity as the smallest element of a business process and the notion of carrying out those activities in some order. Despite the difference in models, the problem of having wait times when carrying out business processes occurs there as well.
Above mentioned execution time problem is even increased if multiple activities controlled by the WFMS are competing for the same or in general conflicting resources resulting in situations where one activity could hinder another activity. In the worst case requests for conflicting resources might result even in deadlock situations.
The invention is based on the objective to improve the handling of resources required by activities within process models controlled by a WFMS. More particularly it is an objective to improve the execution time of business processes.